Method, System and Computer Readable Medium for Addressing Handling from a Computer Program

ABSTRACT

A computer readable medium stores instructions establishing computer processes including analyzing textual information to identify first information and performing at least one operation using the first information, wherein the at least one operation includes causing a search in an information source to find whether the first information is included in the information source and to find second information therein associated with the first information. A method and a system employ similar processes.

CROSS REFERENCES TO RELATED APPLICATIONS

The present application is a continuation of U.S. application Ser. No.13/111,639 filed May 19, 2011, which is a continuation of U.S.application Ser. No. 13/041,210 filed on Mar. 4, 2011, which in turn isa continuation of U.S. application Ser. No. 12/841,302 filed on Jul. 22,2010, issued as U.S. Pat. No. 7,921,356, which in turn is a continuationof U.S. application Ser. No. 12/182,048 filed on Jul. 29, 2008, issuedas U.S. Pat. No. 7,917,843, which in turn is a continuation of U.S.application Ser. No. 09/923,134 filed on Aug. 6, 2001, issued as U.S.Pat. No. 7,496,854, which in turn is a continuation of U.S. applicationSer. No. 09/189,626 filed on Nov. 10, 1998, and which issued as U.S.Pat. No. 6,323,853. Each of the above-described applications is herebyincorporated by reference in their entireties.

BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention relates to a method, system and computer readable mediumfor name and address handling (hereinafter called “address handling”),and more particularly to a touch screen, keyboard button, icon, menu,voice command device, etc. (hereinafter called “button”) provided in acomputer program, such as word processing program, spreadsheet program,etc., and coupled to an information management source for providingaddress handling within a document created by the computer program.

2. Discussion of the Background

In recent years, with the advent of programs, such as word processors,spread-sheets, etc. (hereinafter called “word processors”) users mayrequire retrieval of information, such as name and address information,etc., for insertion into a document, such a letter, fax, etc., createdwith the word processor. Typically, the information is retrieved by theuser from an information management source external to the wordprocessor, such as a database program, contact management program, etc.,or from the word processor itself, for insertion into the document.Examples of such word processors are WORD™, NOTEPAD™, EXCEL™, WORDPAD™,WORDPERFECT™, QUATROPRO™, AMIPRO™, etc., and examples of suchinformation management sources are ACCESS™, OUTLOOK™, ORACLE™, DBASE™,RBASE™, CARDFILE™, etc.

However, the information in the database must constantly be updated bythe user. This requires the user to learn how to use and have access tothe database. In this case, a change in the information, such as changein address or a name, etc., requires the user of the word processor toimplement this change in the database, or alternatively, the change ismade to the database centrally by a database administrator.

SUMMARY OF THE INVENTION

Accordingly, an object of the present invention is to provide a method,system and computer readable medium for address handling within acomputer program.

Another object of the present invention is to provide a method, systemand computer readable medium for address handling within a computerprogram, such as a word processing program, spreadsheet program, etc.

Another object of the present invention is to provide a method, systemand computer readable medium for address handling within a computerprogram, such as a word processing program, spreadsheet program, etc.,using an input device provided in the computer program.

Another object of the present invention is to provide a method, systemand computer readable medium for address handling within a computerprogram, such as a word processing program, spreadsheet program, etc.,using an input device, such as a touch screen, keyboard button, icon,menu, voice command device, etc., provided in the computer program andcoupled to an information management source.

Another object of the present invention is to provide a method, systemand computer readable medium for address handling within a computerprogram, such as a word processing program, spreadsheet program, etc.,using an input device such as a touch screen, keyboard button icon,menu, voice command device, etc., provided in the computer program andcoupled to an information management source, such as a database program,contact management program, etc.

The above and other objects are achieved according to the presentinvention by providing a novel method, system and computer readablemedium for providing a function item, such as a key, button, icon, ormenu, tied to a user operation in a computer, whereby a single click onthe function item in a window or program on a computer screen, or onesingle selection in a menu in a program, initiates retrieval of name andaddresses and/or other person or company related information, w whilethe user works simultaneously in another program, e.g., a wordprocessor. The click on the function item initiates a program connectedto the button to search a database or file available on or through thecomputer, containing the person, company or address related data, inorder to look up data corresponding to what the user types, or partlytyped, e.g., name and/or address in the word processor, the correct datafrom the database, data related to the typed data, e.g., the name of theperson, company, or the traditional or electronic address, or otherperson, or company, or address related data, and alternatively thepersons, companies, or addresses, are displayed and possibly enteredinto the word processor, if such related data exists.

The present invention also includes a computer readable medium storingprogram instructions by which the method of the invention can beperformed when the stored program instructions are appropriately loadedinto a computer, and a system for implementing the method of theinvention.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention description below refers to the accompanying drawings, ofwhich:

FIG. 1 is a flow chart illustrating a method for address handling withina computer program, according to an exemplary embodiment of the presentinvention;

FIG. 2 is a flow chart illustrating a method for address handling withina computer program, according to another exemplary embodiment of thepresent invention;

FIG. 3 is a screen shot illustrating the inputting of a name to besearched and an address handling button within a word processor,according to an exemplary embodiment of the present invention;

FIG. 4 is a screen shot illustrating a retrieved address in a wordprocessor, according to an exemplary embodiment of the presentinvention;

FIG. 5 is a screen shot illustrating the inputting of a name and addressto be searched and an address handling button within a word processor,according to an exemplary embodiment of the present invention;

FIG. 6 is a screen shot illustrating an add new contact message window,according to an exemplary embodiment of the present invention;

FIG. 7 is a screen shot illustrating a contact register message window,according to an exemplary embodiment of the present invention;

FIG. 8 is a screen shot illustrating an address missing message window,according to an exemplary embodiment of the present invention;

FIG. 9 is a screen shot illustrating a modify contact's address messagewindow, according to an exemplary embodiment of the present invention;

FIG. 10 is a screen shot illustrating a select a contact addressregister message window, according to an exemplary embodiment of thepresent invention;

FIG. 11 is a screen shot illustrating a more detailed mode ofregistering an additional address for the contact register of FIG. 9,according to an exemplary embodiment of the present invention;

FIG. 12 is a screen shot illustrating a contact management programwindow in a full detailed mode, according to an exemplary embodiment ofthe present invention;

FIG. 13 is a screen shot illustrating an address already in use messagewindow, according to an exemplary embodiment of the present invention;

FIG. 14 is a screen shot illustrating the inputting of a name to besearched and an address handling button within a spreadsheet, accordingto an exemplary embodiment of to the present invention;

FIG. 15 is a screen shot illustrating a retrieved address in aspreadsheet, according to an exemplary embodiment of the presentinvention; and

FIG. 16 is a schematic illustration of a general purpose computer forperforming the processes of the present invention, according to anexemplary embodiment of the present invention.

DETAILED DESCRIPTION OF AN ILLUSTRATIVE EMBODIMENT

In an embodiment of the present invention, single button addressing is aachieved by providing an input device, such as a touch screen, keyboard,icon, menu, voice command device, etc. (hereinafter called “button”), ina computer program, such as a word processing program, spreadsheetprogram, etc. (hereinafter called “word processor”), for executingaddress handling therein.

Accordingly, in a word processor, the button is added and a user typesinformation, such as an addressee's name, or a part of the name, etc. ina document created with the word processor, such as a letter, fax, etc.,and then clicks, selects, commands, etc. the button via the appropriateinput device, such as a touch screen button, keyboard button, icon, menuchoice, voice command device, etc. A program then executes and retrievesthe typed information from the document, and searches an informationmanagement source, such as a database, file, database program, contactmanagement program, etc. (hereinafter called “database”) to determine ifthe information, such as the name or part of the name typed and searchedby the program exists in the database. If the program does not findstored information, such as a name, corresponding to the name or part ofthe name typed, the user is asked by the program whether theinformation, such as the name that was not found, should be added to thedatabase. In addition, the user may enter any other information besidesthe name, such as addresses, businesses, telephone numbers, fax numbers,e-mail address, etc., so that this other information can be stored inthe data-base for later use.

If the program finds name(s) and address(es) corresponding to the partof the addressee's name typed, this additional information isautomatically entered into the user's word processor, optionally with aconfirmation from the user that this is the correct data. If the typedaddress information does not correspond to data already stored in thedatabase, after clicking on the button, the program, for example, letsthe user decide: (1) if this is new data (e.g., a new address) for anexisting contact; (2) if the stored data should be changed to what theuser just typed; (3) if this is a new contact with the same name as theone already entered into the database; or (4) if the typed address isonly to be used once, and therefore not to be stored in the database atall. If, later, for example, a name with several address stored in thedatabase is recalled, all addresses for this contact will be displayed,so that the correct address can be selected by the user.

The program may be extended to also store and retrieve otherinformation, such as telephone numbers, fax numbers, e-mail addresses,etc. Once the program recalls the telephone numbers, fax numbers, emailaddresses, etc., the user can command the program to send e-mails,faxes, etc. Similarly, if the user types in the name of a mailing list,the program create merge letters, group emails, etc.

Referring now to the drawings, wherein like reference numerals designateidentical or corresponding parts throughout the several views, and moreparticularly to FIGS. 1 and 2 thereof, there is illustrated flow chartsof single button addressing, according to exemplary embodiments of thepresent invention.

In FIG. 1, after the user has inserted the address in the wordprocessor, the user commands the button at step 2 and the programanalyzes what the user has typed in the to document at step 4. AT step6, the program decides what was found in the document and if the programfound nothing in the document or what it found was un-interpretable theprogram goes to step 8 and outputs an appropriate message to the userand then quits at step 16. The program analyzes what the user has typedin the document at step 4, for example, by analyzing (i) paragraph/lineseparations/formatting, etc.; (ii) street, avenue, drive, lane,boulevard, city, state, zip code, country designators and abbreviations,etc.; (iii) Mr., Mrs., Sir, Madam, Jr., Sr. designators andabbreviations, etc.; (iv) Inc., Ltd., P.C., L.L.C, designators andabbreviations, etc.; and (v) a database of common male/female names,etc.

If the program find an e-mail address mailing list/category nametelephone number or other information, at step 10 an appropriate actionis performed by the program and then the program execution quits at step16. If the program only finds a name or initials, or the like, theprogram looks up the name in the database at step 12 and at step 18 theprogram determines what was found. If the program finds more than onepossible contact/address match, at step 20 the program displays menuchoices to the user to let him choose an appropriate answer. Then atstep 22 the program inserts a correct address and name in the documentand then at step 16 the program quits execution. If the program findsone match exactly, i.e., one contact with one address, the programinserts the correct address and name in the document at step 22 thenquits and then quits execution at step 16. If the program does not finda name in the database, at step 24 the program prompts the user tospecify an address and then quits execution at step 16. If the programat step 6 finds a name and an address, at step 14 the name is looked upin the database. Then, at step 26, if no match is found, at step 28 theprogram inserts an address and a to name which are possibly corrected bythe user into the database and then quits execution at step 16. If atstep 26, the name and address is found, at step 32 the program eithertakes no action or displays the data for the user to edit. If at step26, the name is found but not the address, the program prompts the userfor a decision at step 30. If the user decides that this is anothercontact with a same name, the program goes to step 28. If the userdecides that this is a one time occurrence, no action is taken and theprogram quits at step 16. If the user decides that the contact has, forexample, moved and that this is a new address, at step 34 one of the oldaddresses for the contact is replaced with the new one and the programwith the new one and the program quits at step 16. If the user decidesthat this is an additional address for the contact, at step 36 theadditional address is inserted into the database for that contact andexecution quits at step 16.

The flowchart shown in FIG. 2 is similar to the flowchart in FIG. 1,except for some additional steps which will now be discussed. At step 6,if the program only finds a name or a similar name then the name islooked up in the database at step 12, then at step 18 if the programfound more than one possible contact/address match, the program displayschoices to the user to let him choose an address at step 20. Then atstep 21 the user decides whether to insert the selected address into thedocument. If the user does not decide to select the address into thedocument the program quits execution at step 16. If the user decides toinsert the selected address into the document the program inserts theaddress and name into the document at step 22 and then quits at step 16.

If the program finds a name and address in the database at step 6, thenat step 14 the program looks up the name in the database and at step 26the program determines what it has found. If the program does not findthe name at step 26, at step 27 the program prompts the user for adecision and review and whether to insert the contact and address. Ifthe user does not decide to insert the contact address, the programquits at step 16. If the user decides to insert the contact address, atstep 28 the program inserts the address and name which may be possiblycorrected by the user for program in the database then execution quitsat step 16.

If at step 26 the program finds a name and not an address, then at step29 the name is looked up in the database. Then at step 31 the programdecides whether this contact has another address. If the contact doesnot have another address, at step 33 the program prompts the user for adecision and review and whether to add the address. If the user does notwant to add the address at step 33, the program quits at step 16. If theuser wants to add the address at step 33 because this is an additionaladdress for the contact, at step 36 the address is inserted in thedatabase for the contact and execution quits at step 16.

At step 30, if the user decides that this is another contact with thesame name, then the program goes to step 28. If at step 30 the userdecides that this is a one time occurrence, then the program quits atstep 16. If at step 30, the user decides that the contact has, forexample, moved, the program goes to step 34. If at step 30, the userdecides that this is an additional address for the contact, at step 36the program inserts the address in the database for the contact and thenquits at step 16.

Various exemplary screen shots which are generated during execution ofthe program, according to the present invention, will now be describedwith reference to FIGS. 3-15 and examples 1-7 as follows.

Example 1 Retrieving an Existing Address from the Database

FIG. 3 illustrates a starting point in word processor document such asWORD document, wherein the user has typed a name 40. The user hits thebutton 42, for example, marked “OneButton” and the program according tothe present invention retrieves the name 40 from the document, searchesa database for the name 40, and inserts the retrieved address 44associated with the name 40 into the document as shown in, for example,FIG. 4.

The above example corresponds to steps 2, 4, 6, 12, 18, 22 and 16 in theflow charts of FIGS. 1 and 2.

Example 2 Adding a New Contact to the Database

FIG. 5 illustrates a starting point in word processor document such asWORD document, wherein the user has typed a name and address of a newcontact 46. The user commands the button 42, for example, marked“OneButton,” and the program according to the invention retrieves thenew contact 46 from the document, searches a database for the name ofthe new contact 46 and generates a screen as shown in, for example, FIG.6. This screen includes a message 50 informing the user that the newcontact does not exist in the database, a message 52 including theaddress retrieved from the document, an address type selection 54, suchas home, business, etc., and “OK,” “Details,” and “Cancel” buttons 56,58, and 60; respectively.

At this point, the user can cancel the operation by commanding theCancel button 60, ask the program to store data in the database andreturn the document by commanding the OK button 56, or check detailsbefore storing data into the database by commanding the Details button58. If the user commands the Details button 58, as shown in, forexample, FIG. 7, a message screen is provided so that the user canreview and edit data 62 and the selection 54, store the data 62 and 54in the database by commanding a “Add and Choose” button 64, see moreoptions by commanding an “Options” button 66, or cancel the operation bycommanding the Cancel button 60.

The above example corresponds to steps 2, 4, 6, 14, 26, 28 and 16 in theflow chart of FIG. 1 and steps 2, 4, 6, 14, 26, 27, 28 and 16 in theflow chart of FIG. 1 and steps 2, 4, 6, 26, 27, 28 and 16 in the flowchart of FIG. 2.

Example 3 Try to Retrieve Existing Address, but Contact is not inDatabase

FIG. 3 illustrates a starting point in word processor document, such asWORD document, wherein the user has typed a name of a contact 40. Theuser commands the button 42, for example, marked “OneButton,” and theprogram according to the present invention retrieves the name 40 fromthe document, searches a database for the name of the contact 40 andgenerates a screen as shown in, for example, FIG. 8. This screenincludes a message 68 informing the user that the contact does not existin the database and to specify an address, and “OK” buttons 56. At thispoint when the user commands the OK button 56, the user returns to thedocument so that he contact's address can be included as in Example 2above.

The above example corresponds to steps 2, 4, 6, 12, 18, 24, and 16 inthe flow of charts of FIGS. 1 and 2.

Example 4 Adding a New Address for an Existing Contact (Short Version)

FIG. 4 illustrates a starting point in word processor document, such asWORD document, wherein the user has typed a name and new address of anexisting contact 44. The user commands the button 42, for example,marked “OneButton,” and the program according to the present inventionretrieves the existing contact 44 from the document, searches a databasefor the same name of the existing contact 44 and generates a screen asshown in, for example, FIG. 9. This screen includes a message 70informing the user that the contact already exists in the database withan existing address, a message 72 including the existing address, addnew contact with same name selection 74, change existing addressselection 76, use existing address in document selection 78, add the newaddress contact selection 80, the address type selection 54, such ashome, business, etc., and the “OK,” “Details,” and “Cancel” buttons 56,58 and 60 respectively. AT this point, the user may select one of thefour options 74-80, and command the OK button 56 to execute the selectedoptions. The user can also cancel the operation by commanding the Cancelbutton 60, or check details before storing data into the database bycommanding the Details button 58.

The above example corresponds to steps 2, 4, 6, 14, 26, 28, 30, 34, 36,and 16 in the flow chart of FIG. 1 and steps 2, 4, 6, 14, 26, 29, 31,30, 28, 34, 36, and 16 in the flow chart of FIG. 2.

Example 5 Selecting Between Several Possible Matching Addresses

FIG. 3 illustrates a starting point in word processor document, such asWORD document, wherein the user has typed a name and possibly address ofat least one existing contact 40. The user commands the button 42, forexample, marked “OneButton,” and the program according to the presentinvention retrieves the existing contact 40 from the document, searchesa database for the name of the existing contact 40 and generates ascreen as shown in, for example, FIG. 10. This screen includes a messageinforming the user the name corresponds to several addresses andpossible contacts which already exist in the database, with existingcontacts and addresses for selection 82, a message 84 including the fullname and address for the contact that the user selects in 82, theOptions button 66, a “Choose” button 86, a “Full details” button 88, a“More >>>” button 90, and the Cancel button 60. The above screenindicates to the user that at least one contact with the same nameexists, and that there are more than one addresses and/or contacts thatmatch.

At this point, the user may command the Choose button 86 to use theselected address and return to the document, or the user may command theMore >>> button 90 to view how the program interpreted what he usertyped in the word processor, and possibly change this data; wherein theprogram generates-an updated screen as shown in, for example, FIG. 11.The updated screen includes the data 62 which displays the name forexample, FIG. 11. The updated screen includes the data 62 which displaysthe name typed in the word processor as interpreted by the program,address fields, and the fields for the address type selection 54, suchas home, business, etc., which may be changed by the user before theprogram stores it in the database, the Add and Choose button 64, a“<<<Less” button 90 corresponding to the More>>> button 90 for returningto the screen of FIG. 10, and an “Add this address to the selectedcontact above” button 92. The user might then command the Add thisaddress to the selected contact above button 92 and the result in theword processor is illustrated in FIG. 4. The user can also cancel theoperations by commanding the Cancel button 60, or command the add choosebutton 64 to add this name and address as a new contact and address, oropen the database before storing data into the database by commanding a“Full details” button 88 as will be later described.

The above example corresponds to steps 2, 4, 6, 12, 18, 20, 22, and 16in the flow chart of FIG. 1 and steps 2, 4, 6, 12, 18, 20, 21, 22, and16 in the flow chart of FIG. 2.

Example 6 Adding a New Address for an Existing Contact (Long Version)

FIG. 4 illustrates a starting point in word processor document, such asWORD document, wherein the user has typed a name and new address of anexisting contact 44. The user commands the button 42, for example,marked “OneButton,” and the program according to the present inventionretrieves the existing contact 44 from the document, searches a databasefor the name of the existing contact 44 and generates a screen as shownin, for example, FIG. 9. As previously described the screen includes amessage 70 informing the user that the contact already exists in thedatabase with an existing address, and the user may command the Detailsbutton 58 to see the details of the new address for potentially modifythe details before they are stored in the database and the programgenerates a screen as shown in, for example, FIG. 10. From this screen,the user may choose to use another address than the one he typed, andreturn to the document, or the user may command the “Full details”button 88 to enter a database program, such as OUTLOOK™, directly asshown in, for example, FIG. 12. In FIG. 12, the database program, suchas OUTLOOK™, may include portions 94-104 for allowing the user to modifyvarious pieces of data before they are stored in the database.

Alternatively, in the screen shown in FIG. 10, the user may command theMore>>> button 90 at which time the program generates the screen asshown in, for example, FIG. 11 and as previously described. In thisscreen, the user might then command the Add this address to the selectedcontact above button 92. If the address typed is already in use, theprogram generates a screen including a message 106, and “Yes” and “No”buttons, 108 and 110, respectively, as shown in, for example, FIG. 13.If the user hits the Yes button 108 the program overwrites the contactaddress with the address specified by the user (e.g., if the contact hasmoved) and the result in the word processor is shown in, for exampleFIG. 4.

The above example corresponds to steps 2, 4, 6, 12, 14, 26, 28, 30, 34,36, and 16 in the flow chart of FIG. 1 and steps 2, 4, 6, 12, 14, 26,29, 31, 30, 28, 34, 36, and 16 in the flow chart of FIG. 2.

Example 7 Spreadsheet Application

FIG. 14 illustrates a starting point in word processor document, such asan EXCEL spreadsheet, wherein the user has typed a name 112. The userhits the button 42, for example, marked “OneButton,” and the programaccording to the present invention retrieves the name 112 from thespreadsheet, searches a database for the name 112, and inserts theretrieved address 114 into the spreadsheet as shown in, for example,FIG. 15. Accordingly, the examples 1-6 apply not only to word processordocuments, such as WORD™ documents, etc., but to other word processordocuments, and spreadsheets, such as EXCEL™ spreadsheets, etc.

The above example corresponds to steps 2, 4, 12, 18, 22, and 16 in theflow of charts FIGS. 1 and 2.

FIG. 16 is a schematic illustration of a computer system forimplementing the single button addressing according to the presentinvention. A computer 200 implements the method of the presentinvention, wherein the computer includes, for example, a display device202, such as a conventional display device or a touch screen monitorwith a touch screen interface, etc., a keyboard 204, a pointing device206, a mouse pad or digitizing pad 208, a hard disk 210, or other fixed,high density media drives, connected using an appropriate device bus(e.g., a SCSI bus, an Ultra DMA bus, a PCI bus, etc.), a floppy drive212, a tape or CD ROM drive 214 with tape or CD media 216, or otherremovable media devices, such as magneto-optical media, etc., and amother board 218. The mother board 218 includes, for example, aprocessor 220, a RAM 222, and ROM 224 (e.g., DRAM, ROM, EPROM, EEPROM,SRAM, SDRAM, and Flash RAM, etc.), I/O ports 226 which may be used tocouple to external devices, networks, etc., (not shown), and optionalspecial purpose logic devices (e.g., ASICs) or configurable logicdevices (e.g., GAL and re-programmable FPGA) 228 for performingspecialized hardware/software functions, such as sound processing, imageprocessing, signal processing, neural network processing, objectcharacter recognition (OCR) processing, etc., a microphone 230, and aspeaker or speakers 232.

As stated above, the system includes at least one computer readablemedium or alternatively, the computer readable medium may be accessedthrough various paths, such as networks, internet, drives, etc. Examplesof computer readable media are compact discs, hard disks, floppy disks,tape, magneto-optical disks, PROMs (EPROM, to EEPROM, Flash, EPROM),DRAM, SRAM, SDRAM, etc. Stored on any one or on a combination ofcomputer readable media, the present invention includes software forcontrolling both the hardware of the computer 200 and for enabling thecomputer 200 to interact with a human user. Such software may include,but is not limited to, device drivers, operating systems and userapplications, such as development tools. Such computer readable mediafurther includes the computer program product of the present inventionfor performing any of the processes according to the present invention,described above (see, e.g., FIGS. 1-15). The computer code devices ofthe present invention can be any interpreted or executable codemechanism, including but not limited to scripts, interpreters, dynamiclink libraries, Java classes, and complete executable programs, etc.

The invention may also be implemented by the preparation of applicationspecific integrated circuits or by interconnecting an appropriatenetwork of conventional component circuits, as will be readily apparentto those skilled in the art.

Address handling, according to this invention, is a significantsimplification relative to existing methods, and requires little or notraining on the part of a user, as correct addresses are retrieved witha minimal number of user commands, “clicks,” keystrokes, etc. Inaddition, a program according to the present invention, can beprogrammed and created in most existing programming languages and beconnected to most modern word processors. Therefore, according to thepresent invention, the process of creating and updating records in anaddress database is significantly simplified, since this may now beperformed directly from the word processor.

Although the present invention is defined in terms of word processingdocuments, such as WORD™ documents and EXCEL™ spreadsheets, the presentinvention is applicable to all types of word processing documents suchas NOTEPAD™, WORDPAD™, WORDPERFECT™, QUATROPRO™, AMIPRO™, etc., as willbe readily apparent to those skilled in the art.

Although the present invention is defined in terms of informationmanagement or database programs, such as OUTLOOK™, etc., the presentinvention is applicable to all types of information management ordatabase programs such as ACCESS™, ORACLE™, DBASE™, RBASE™, CARDFILE™,including “flat files,” etc., as will be readily apparent to thoseskilled in the art.

Although the present invention is defined in terms of providing an inputdevice, such as a button 42 in a word processor for address handlingtherein, the present invention may be practiced with all types of inputdevices, such as touch screen, keyboard button, icon, menu, voicecommand device, etc., as will be readily apparent to those skilled inthe art.

Although the present invention is defined in terms of a programretrieving information from a document before searching a database, theuser may select the information in the document to be searched by theprogram in the database (e.g., by highlighting, selecting, italicizing,underlining, etc.), as will be readily apparent to those skilled in theart.

Although the present invention is defined in terms of a programretrieving a name or portion thereof from a document before searching adatabase the program may retrieve an address or portion thereof from thedocument before searching the database and insert, correct, complete,etc., the retrieved address based on the information found in thedatabase corresponding to the retrieved address or portion thereof, aswill be readily apparent to those skilled in the art.

Obviously, numerous modifications and variations of the presentinvention are possible in light of the above teachings. It is thereforeto be understood that within the scope of appended claims, the inventionmay be practiced otherwise than as specifically described herein.

This application claims priority and contains subject matter related toNorwegian patent application No. 984066 filed on Sep. 3, 1998, theentire contents of which are hereby incorporated by reference.

1. At least one non-transitory computer readable medium encoded withinstructions which establish processes for information handling, theprocesses comprising: analyzing, in a computer process, displayedtextual information to identify first contact information from thetextual information as a type of contact information, from a pluralityof contact information types, wherein the analyzing is performed withoutuser designation of a specific part of the displayed textual informationto be subject to the analyzing; after determining the type of contactinformation the first contact information is, performing at least oneoperation using the first contact information, from a set of potentialoperations, wherein the at least one operation depends at least in parton the type of contact information the first contact information is, andthe set of potential operations includes: (A) initiating electroniccommunication using the first contact information; and (B) causing anelectronic search, in an information source that contains contactinformation and is distinct from the displayed textual information, forthe first contact information previously identified by analyzing inorder to find whether the first contact information is included in theinformation source and to find second contact information, of a specifictype or types, therein associated with the first contact information,wherein the specific type or types of second contact information isdependent at least in part on the type of contact information the firstcontact information is, and when the first contact information isincluded in the information source and the information source alsoincludes associated second contact information, causing display of atleast part of the associated second contact information; and providingfor a user an input device configured so that, while the textualinformation is displayed, a single execute command from the input deviceis the only user action necessary to accomplish the analyzing and theperforming.
 2. The at least one non-transitory computer readable mediumaccording to claim 1, wherein the set of potential operations furtherincludes: (C) allowing the user to cause addition of at least some ofthe first contact information into the information source as newinformation for an existing contact.
 3. The at least one non-transitorycomputer readable medium according to claim 1, wherein the set ofpotential operations further includes: (C) allowing the user to causeaddition of at least some of the first contact information into theinformation source as a new contact.
 4. The at least one non-transitorycomputer readable medium according to claim 1, wherein the analyzing iscompleted after the receipt of the execute command.
 5. (The at least onenon-transitory computer readable medium according to claim 1, whereinthe input device is a menu and the single execute command includes theuser's—accessing of the menu and selection of a menu choice from themenu.
 6. The at least one non-transitory computer readable mediumaccording to claim 1, wherein the plurality of contact information typesincludes at least one of a name, an address, an e-mail address, and atelephone number.
 7. The at least one non-transitory computer readablemedium according to claim 1, wherein when the first contact informationis a telephone number, the at least one operation comprises initiatingelectronic communication using the telephone number.
 8. The at least onenon-transitory computer readable medium according to claim 1, whereinwhen the first contact information is an e-mail address, the at leastone operation comprises creating an e-mail using the e-mail address. 9.A computerized method for information handling, the method comprising:analyzing, in a computer process, displayed textual information toidentify first contact information from the textual information as atype of contact information, from a plurality of contact informationtypes, wherein the analyzing is performed without user designation of aspecific part of the displayed textual information to be subject to theanalyzing; after determining the type of contact information the firstcontact information is, performing at least one operation using thefirst contact information, from a set of potential operations, whereinthe at least one operation depends at least in part on the type ofcontact information the first contact information is, and the set ofpotential operations includes: (A) initiating electronic communicationusing the first contact information; and (B) causing an electronicsearch, in an information source that contains contact information andis distinct from the displayed textual information, for the firstcontact information previously identified by analyzing in order to findwhether the first contact information is included in the informationsource and to find second contact information, of a specific type ortypes, therein associated with the first contact information, whereinthe specific type or types of second contact information is dependent atleast in part on the type of contact information the first contactinformation is, and when the first contact information is included inthe information source and the information source also includesassociated second contact information, causing display of at least partof the associated second contact information; and providing for a useran input device configured so that, while the textual information isdisplayed, a single execute command from the input device is the onlyuser action necessary to accomplish the analyzing and the performing.10. The method according to claim 9, wherein the set of potentialoperations further includes: (C) allowing the user to cause addition ofat least some of the first contact information into the informationsource.
 11. The method according to claim 9, wherein the input device isa menu and the single execute command includes the user's accessing ofthe menu and selection of a menu choice from the menu.
 12. The methodaccording to claim 9, wherein the plurality of contact information typesincludes at least one of a name, an address, an e-mail address, and atelephone number.
 13. The method according to claim 9, wherein when thefirst contact information is a telephone number, the at least oneoperation comprises initiating electronic communication using thetelephone number.
 14. The method according to claim 9, wherein when thefirst contact information is an e-mail address, the at least oneoperation comprises creating an e-mail using the e-mail address.
 15. Anapparatus for information handling, the apparatus comprising: a displaydevice; a processor; and a memory storing instructions executable by theprocessor to perform one or more processes that include: analyzing, in acomputer process, displayed textual information to identify firstcontact information from the textual information as a type of contactinformation, from a plurality of contact information types, wherein theanalyzing is performed without user designation of a specific part ofthe displayed textual information to be subject to the analyzing; afterdetermining the type of contact information the first contactinformation is, performing at least one operation using the firstcontact information, from a set of potential operations, wherein the atleast one operation depends at least in part on the type of contactinformation the first contact information is, and the set of potentialoperations includes: (A) initiating electronic communication using thefirst contact information; and (B) causing an electronic search, in aninformation source that contains contact information and is distinctfrom the displayed textual information, for the first contactinformation previously identified by analyzing in order to find whetherthe first contact information is included in the information source andto find second contact information, of a specific type or types, thereinassociated with the first contact information, wherein the specific typeor types of second contact information is dependent at least in part onthe type of contact information the first contact information is, andwhen the first contact information is included in the information sourceand the information source also includes associated second information,causing display of at least part of the associated second information;and providing for a user an input device configured so that, while thetextual information is displayed, a single execute command from theinput device is the only user action necessary necessary to accomplishthe analyzing and the performing.
 16. The apparatus according to claim15, wherein the input device is a menu and the single execute commandincludes the user's accessing of the menu and selection of a menu choicefrom the menu.
 17. The apparatus according to claim 15, wherein thedisplay device is a touch-screen interface.